package cn.tedu.oa.user.service;

import cn.tedu.oa.user.pojo.dto.UserLoginParam;
import cn.tedu.oa.user.pojo.dto.UserLogoutParam;
import cn.tedu.oa.user.pojo.dto.UserQuery;
import cn.tedu.oa.user.pojo.dto.UserSaveParam;
import cn.tedu.oa.user.pojo.entity.User;
import cn.tedu.oa.user.pojo.vo.UserVO;

import java.util.Date;
import java.util.List;

public interface UserService {
    UserVO login(UserLoginParam userLoginParam);

    void saveUser(UserSaveParam userSaveParam);

    List<UserVO> selectUser(UserQuery userQuery);

    void resetPassword(Integer userId);

    void updateStatus(Integer userId, String status);

    void deleteUser(Integer userId);

    List<UserVO> selectAuditList(Integer parentId);

    List<UserVO> selectLeader(UserQuery userQuery);

    void updateLogoutTime(UserLogoutParam userLogoutParam);

    List<UserVO> selectByDuration();

    Integer selectCount();
}
